System and method for data reading using raster scanning

ABSTRACT

The present disclosure provides systems of and methods for reading optical codes located on multiple sides of an item that is being moved through a read volume. In one method, optical symbols are read using a high speed raster laser beam and non-retrodirective collection optics including the steps of moving an item containing an optical code along an item direction past a window disposed in a surface of a scanner housing or platter; via a first scan mechanism, repeatedly scanning through the window at a first slant and/or tilt angle to the surface in a first direction and along a single line to acquire scanned data over two dimensions of one or more sides of the item; via a second scan mechanism, repeatedly scanning through the window at a second slant and/or tilt angle to the surface in a second direction and along a single line to acquire scanned data over two dimensions of one or more other sides of the item; and processing the scanned data acquired. The window may be formed in the shape of a slot, the slot being oriented generally transverse to the item direction A preferred construction is a completely solid state implementation using either a linear imager or an area (2-D) imager in the Scheimpflug condition to image a plane with a depth of field.

RELATED APPLICATION DATA

This application claims priority to U.S. application No. 60/872,402,filed on Jun. 13, 2005, hereby incorporated by reference.

BACKGROUND

The field of the present disclosure relates to optical readers andmethods of data reading, and more particularly, to methods and systemsusing a small number of high speed scan lines to generate a raster imageof an optical code.

Conventional fixed scanners use a motor/facet wheel to scan a laser beamacross a plurality of pattern mirrors in order to generate anomnidirectional scan pattern. FIG. 1 illustrates a schematic of aconventional fixed scanner 10. The scanner 10 includes a laser diode 15generating a laser beam 17 which is directed onto a facet wheel 20. Thefacet wheel 20 is rotatably driven by a motor 21 at a relatively highspeed, typically several thousand rpm. The facet wheel 20 scans the beamacross a plurality of pattern mirrors 22 (only one pattern mirror isshown) with the scanned beam reflecting off one or more patterns mirrorsto form scan lines projected through a window 24 and into a scan volume.

Return light reflecting off the barcode 5 is collected retrodirectivelyonto the pattern mirrors 22, the facet wheel 20, and then onto acollection mirror 26 (or alternately a lens) by which it is focusedtoward a detector 28.

Multiple scan lines are generated forming an omnidirectional scanpattern designed to be capable of scanning a barcode passing through thescan volume in any orientation. An important aspect of scanningefficiency is side coverage, that is, which sides of an item can bescanned, the item being defined as a six-sided cube or six-sidedrectangular box-shaped form. L-scanners have been employed to enhanceitem side coverage. An L-scanner, such as the Magellan® 8500 scannermanufactured by PSC Inc. of Eugene, Oreg., has two windows oriented in agenerally “L” shape, one window oriented generally vertically and onewindow oriented generally horizontally. The Magellan® 8500 scanner hasthe unique capability of scanning all six sides of an item: (1) thebottom side is scanned primarily by scan lines from the horizontalwindow; (2) the leading side (i.e. the left side assuming aright-to-left scanning direction) is scanned by scan lines from both thevertical window and the horizontal window; (3) the trailing side (i.e.the right side assuming a right-to-left scanning direction) is scannedby scan lines from both the vertical window and the horizontal window;(4) the front side (i.e. the side facing the vertical window) is scannedby scan lines from the vertical window; (5) the rear or checker side(the side facing opposite the vertical window) is scanned by scan linesfrom the horizontal window; (6) the top side (the side facing oppositethe horizontal window) is scanned by scan lines from the verticalwindow.

FIG. 2 diagrammatically illustrates a scan pattern 30 generated throughthe horizontal window of a Magellan® 8500 scanner. The facet wheel ofthe Magellan® 8500 scanner is rotated at about 100 times per second(6000 rpm). The scan pattern is made of families (or groups) ofgenerally parallel lines, due to the different angular positions of eachfacet on the facet wheel. For the Magellan® 8500, there are four facets,each arranged at a different angle relative to the rotational axis, sothere are four parallel lines with each scan family. There are eightdifferent pattern mirror sets on the horizontal window, leading to 32scan lines, as shown in the pattern 30 of FIG. 2.

The scan pattern 30 is constrained by the use of families of parallellines. A relatively large amount of physical space is needed to createthe scan pattern. As illustrated in the system 10 of FIG. 1, there issignificant depth to the product to contain the pattern mirrors andfacet wheel. Depending on the scan engine design, the product may beeven deeper or longer to handle collection. The scan lines must emanatefrom a point laterally beyond the edges of the window, which requiresthe product to be wider than the window in both dimensions.

Because collection is retrodirective in the typical facet wheel scanner,the facet wheel needs to be quite large. Particularly because of thesmall number of facets (typically three or four), windage may also belarge, causing a large power consumption of the motor/facet wheelassembly. A large facet wheel also produces a significant load on thebearings, affecting the lifetime of the motor. The optical quality ofthe reflective surfaces of the facet wheel is difficult to maintain, dueto the high speed of rotation. In addition, care must be taken to ensurestructural integrity of such a facet wheel due to the large stressesfrom high speed rotation.

Since the scan pattern reads barcodes by spatially covering the windowto hit the product at all angles, the window must be fairly large. Forscanners with a horizontal window, sapphire or other scratch-resistantsurface is used to provide a surface that will last under the harshenvironment of products sliding over the window. The cost of this windowis quite high and thus is a significant cost factor in the product.

SUMMARY

The present disclosure is directed to method and systems of scanningoptical codes on items being moved through a scan volume. Preferably theoptical codes may be located on any side of an item and in anyorientation. In a preferred embodiment, a raster image of the product isgenerated using a deflected laser beam and non-retrodirective collectionoptics.

Another embodiment is directed to a method of reading optical symbolsincluding the steps of: moving an item containing an optical code alongan item direction past the window; repeatedly reading through the windowalong a single scan line forming a scan plane (or read plane) toacquire, in combination with the movement of the item through the scanplane) a raster pattern over two dimensions; extracting a pluralitypatterns of virtual lines from the raster pattern, the virtual scan linepatterns corresponding to different speeds of the item being passedthrough the scan volume; processing each of the virtual scan linepatterns for decoding the optical code.

These and other aspects of the disclosure will become apparent from thefollowing description, the description being used to illustratepreferred embodiments when read in conjunction with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic of a prior art scanning mechanism employing afacet wheel.

FIG. 2 illustrates a scan pattern at the horizontal window of thescanner of FIG. 1.

FIG. 3 is a schematic of scanner frame of reference for a rasterscanner.

FIG. 4 is a schematic of an item frame of reference for a rasterscanner.

FIG. 5 illustrates raster scans of a barcode label.

FIG. 6 diagrammatically illustrates a raster scanner having a singleslot.

FIGS. 7-8 diagrammatically illustrate an L-shaped raster scanner havingmultiple slots.

FIG. 9 diagrammatically illustrates a side elevation view ofnon-retrodirective collection mechanism according to a preferredembodiment.

FIG. 10 is a top view of the mechanism of FIG. 9.

FIG. 11 is a diagram of scanning resolution parameters.

FIG. 12 is a perspective view of a collection system including acompound parabolic concentrator.

FIG. 13 is a top view of an alternate embodiment collection lens systemof FIG. 45.

FIG. 14 is a side view of an alternate embodiment collection lens systemof FIG. 45.

FIG. 15 is a schematic of an electronic scan generator.

FIG. 16 is a schematic of an alternate electronic scan generator.

FIG. 17 is a diagram illustrating methods for scan line generation andpixel selection methods.

FIGS. 18-21 are diagrams of scan patterns of a single X pattern at fourdifferent item speeds.

FIGS. 22-25 are diagrams of scan patterns of an X pattern withadditional scan lines at four different item speeds.

FIGS. 26-29 are diagrams of scan patterns illustrating scan line gaps.

FIGS. 30-32 are diagrams of scan patterns for filling scan line gaps.

FIGS. 33-36 are diagrams of dense scan patterns representing differentspatial densities of virtual scan patterns.

FIG. 37 is a schematic diagram of a raster scanner with two axisrastering on one scan window.

FIG. 38 is a schematic diagram of a scan mechanism for the scanner ofFIG. 37.

FIG. 39 is a schematic diagram of a line imaging raster scanneraccording to an alternate embodiment.

FIG. 40 is a schematic diagram of a line imaging raster scanneraccording to an alternate embodiment employing Scheimpflug optics.

FIG. 41 is a cross sectional view and simplified ray trace of aconcentrator element.

FIG. 42 is a perspective view of a collection lens according to apreferred embodiment.

FIG. 43 is a simplified ray trace of the wide field (top view) axis ofthe collection lens of FIG. 42.

FIG. 44 is a simplified ray trace of the narrow field (side view) axisof the collection lens of FIG. 42.

FIG. 45 is a perspective view of an alternate embodiment collection lenssystem.

FIG. 46 is a representation of the angular orientation of the virtualscan lines according to one embodiment.

FIG. 47 is a side view of a linear imaging system according to oneembodiment.

FIG. 48 is a top view of the linear imaging system of FIG. 47.

FIG. 49 is a barcode target view of the imaging pixels and laser line ofthe linear imaging system of FIG. 47.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

While certain preferred embodiments are described below with referenceto a high speed raster scanner, one skilled in the art will recognizethe principles described herein are viable to other applications. Thoughcertain preferred embodiments will be described with respect to scanningbarcodes, it should be understood that the principles described hereinare applicable to other types of optical codes (e.g. 1-D, 2-D, Maxicode,PDF-417) as well as imaging of other items such as fingerprints.

In a preferred configuration, a raster scanner is disposed at a scanlocation, such as the checkout counter of a retail establishment, anditems are passed through the scan field. Instead of generating a spatialscan pattern, a raster scanner according to a preferred embodimentgenerates a single scan line, aimed toward the item being passed throughthe scan field. The scan line forms a plane through which the item ispassed. This scan line has a rapid repetition rate, compared to aconventional fixed scanner. Data gathered from this scan line creates araster image, with the “Y” direction created by the scanning operation,and the “X” direction created by the movement of the product past thescan line.

The operation is similar to a fax machine. One difference is that thehuman operator moves the product past the scan line (i.e. through thescan plane), instead of a motorized belt moving the paper past therastering mechanism of a fax machine. Another difference is that theraster scanner preferably images over a significantly larger depth offield. The irregularities in human motion of the product past the scanline will cause geometric distortions in the captured image, but as mosthuman motion is relatively smooth, particularly at high speeds, thisdistortion is tolerable, as barcode information is tolerant of somedistortion. It is noted that there are two different frames of reference(points of view) in optical code scanning, namely the item point of viewand the scanner point of view. FIGS. 3-4 illustrate these two frames ofreference. From the scanner frame of reference shown in FIG. 3, thescanner is repetitively sending out a single scan line while the productis moving past/through the plane of the scan line, thus changing theposition of where the scan lines strike the product. From the item frameof reference shown in FIG. 4, the item is stationary and the barcodescanner is moving across it (in the opposite direction), providing manystrikes across the product. The item frame of reference may be morehelpful in understanding the scanner's operation.

Considering a product with a barcode on the bottom and using the itemframe of reference from FIG. 4, the scan lines form a raster pattern 12on the item, as shown in FIG. 5. This raster pattern 12 may be thoughtof as similar to how a fax machine operates. A line is scanned andconverted to an intensity profile. Then the object/item is moved acertain distance and the process is repeated (i.e. another line isscanned) generating a multitude of lines resulting in a 2-D rasterimage. It is understood that while the extent of the image along thelaser scan line is determined by the optics of the system, the otheraxis is of indeterminate extent as it is not known when a object willappear in the field of view. At a given item velocity and scan linerepetition rate, a given line-to-line spacing results, defining theresolution in this axis (along with the laser spot size). At a givenscan rate and the faster the item moves, the lower the resolution andthe slower the item moves, the higher the resolution (until limited bythe resolution due to the laser spot size).

In order to read multiple sides of an item, multiple raster patterns maybe required. The three primary configurations for fixed optical codescanners are (1) a flat-top horizontal scanner; (2) a vertical scanner;and (3) an L-shaped scanner having both a horizontal component and avertical component. Each of the configurations would preferably generatefour scan lines in order to provide multi-sided reading, with theL-scanner preferably being able to read all six sides of an item.

FIG. 6 illustrates a horizontal scanner 100 having a single elongatedslot 102 disposed perpendicularly to the direction of item movementthrough the scan volume. Were the scanner to comprise an integratedscanner-scale, the slot 102 would be disposed within the weigh platter.In this embodiment, the scanner 100 is described with respect to itemsbeing passed through the scan volume from right to left from theperspective of the operator, who is standing in front of the scannernear the front edge (the operator position being lower right side of thefigure). The scanner 100 is provided with four scan line generators,each producing a scan line directed through the slot 102: (1) a leadingscan line 104 (directed diagonally up and to the right), for reading theleading left side and the bottom side of an object swept across slot102; (2) a trailing scan line 106 (directed diagonally up and to theleft) for reading the trailing right side and the bottom side; (3) afront directed scan line 108 directed diagonally up and toward theoperator for scanning the back side (i.e., the side facing opposite theoperator) and possibly also the bottom side; and (4) a back directedscan line 110 directed diagonally up and away from the operator forscanning the front side (i.e., the side facing the operator) andpossibly also the bottom side. Alternately, this single slot 102 may beoriented vertically to operate as a vertical scanner. This scanner maybe configured to be convertible as between a vertical scanner or ahorizontal scanner depending upon its mounting orientation. In anotherconfiguration, the scanner 100 may be configured horizontally with theslot 102 facing downward to operate as an overhead scanner.

The scan lines may alternately be described as scan planes or readplanes as diagrammatically illustrated in FIG. 6. Scan line 110 isillustrated as a plane projecting through the slot 102 at a 90° slantangle to the horizontal (or 0° to the vertical), but projected with anangle of view at a tilt angle β such that scan line 110 is directeddiagonally up and away from the operator. Where the item is a six-sidedbox, the scan line 110 would project onto the front side of the box(i.e. the side facing the operator) and possibly also the bottom side ofthe box. In order to project onto the front side of the box (i.e. a sideof the box parallel to the item direction and perpendicular to thescanner surface, the scanner surface being a horizontal surface of theslot or window 102), the field of view for scan line 110 may bedescribed as being from an end of the slot 102 proximate the operator.

Scan line 108 is illustrated as a plane projecting through the slot 102at a 90° slant angle to the horizontal (or 0° to the vertical), butprojected with a tilt angle (similar to the tilt angle β of scan line110 but in the opposite direction) such that scan line 108 is directeddiagonally up and toward the operator. Where the item being scanned is asix-sided box-shaped item, the scan line 108 would project onto the backside of the box (i.e. the side facing opposite the operator) andpossibly also the bottom side of the box. In order to project onto theback side of the box, the field of view for scan line 108 may bedescribed as being from an end of the slot 102 distal to the operator.

Scan line 104 is illustrated as a plane projecting through the slot 102at a rearward (relative to the direction of item motion) slant angle Φto the horizontal (or 90° minus Φ to the vertical). Preferably, the scanline 104 is projected at a 0° tilt angle such that scan line 104 isprojected onto a bottom side and leading side of a six-sided box-shapeditem being passed through the scan plane. Scan line 106 is illustratedas a plane projecting through the slot 102 at a forward (relative to thedirection of item motion) slant angle Φ to the horizontal (or 90° minusΦ to the vertical). Preferably, the scan line 106 is projected at a 0°tilt angle such that scan line 106 is projected onto a bottom side andtrailing side of a six-sided box-shaped item. The slant angle Φ may beany suitable angle that provides the desired field of view which may bedifferent depending on the particular application. In certainapplications, slant angle Φ is preferably about 45°, which providesequal angle of incidence on two sides of a box-shaped item, such as theleading and the bottom sides, for scan line 104. Alternately, actualangular values of the forward and rearward slant angles may be differentfrom each other.

Depending upon the degree of coverage and pattern aggressivenessdesired, a scanner may be configured with any combination of scan lines104, 106, 108, 110. As the number of provided scan planes increases, theperformance increases, but the mechanical complexity, cost, andprocessing requirements increase proportionately. A system may have forexample only two of the scan lines 104, 106 which would be effective atscanning three sides of an item (i.e. bottom, leading and trailing sidesof a six-sided box-shaped item). In another example, the system may haveonly two scan lines 108, 110 which would be effective at scanning threesides of an item (i.e. bottom side, side facing operator and side facingopposite operator of a six-sided box-shaped item).

Each of the scan lines 104, 106, 108, 110 is preferably projected ontothe item such that the scan line projected on the item is perpendicularto the direction of travel of the item through the scan plane.Alternately, the scan lines 104, 106 may not only be oriented at a slantangle φ to the horizontal, they may also be tilted. For example, a firstline may be oriented at a left slant angle φ to the horizontal (such asscan line 106) and also be tilted directed diagonally up and away fromthe operator (such as scan line 110). Where the item is a six-sided box,this combined slanted and tilted scan line would project onto the frontside of the box (i.e. the side facing the operator), the bottom side ofthe box, and the trailing side of the box. A second line may be orientedat a right slant angle φ to the horizontal (such as scan line 104) andalso be tilted directed diagonally up and toward the operator (such asscan line 108). Where the item is a six-sided box, this second combinedslanted and tilted scan line would project onto the back side of the box(i.e. the side facing opposite the operator), the bottom side of thebox, and the leading side of the box. In combination, these first andsecond combined slanted and tilted scan lines would be effective atscanning five sides of an item (i.e., bottom side, trailing side,leading side, side facing operator and side facing opposite operator ofa six-sided box-shaped item).

The slot 102 may be disposed in a surface of a scanner housing orplatter (e.g., the weigh platter of a scanner-scale) with the operatormanually moving the item bearing the optical code past the slot andthrough the scan plane(s). Alternately, the slot may comprise a gap orother visual opening of a conveyor by which the conveyor transports theitem past the slot and through the scan plane(s). In yet anotheralternate configuration, the slot may be replaced by a window in thehorizontal surface that extends over all or some partial extent of thesurface.

FIGS. 7-8 illustrate an L-scanner 120 including (a) a lower horizontalsection 122 with an elongated slot 124 disposed perpendicular ortransverse to the direction of item movement through the scan volume and(b) an upper vertical section 126 with an elongated slot 128 alsodisposed perpendicular or transverse to the direction of item movementthrough the scan. volume. The slots 124, 126 are preferably oriented, asillustrated, perpendicular to each other and generally in the sameplane. Alternately the slots 124, 126 may be offset and thus notcoplanar. The lower section 122 may comprise a weigh platter of anintegrated scale, whereby the slot 124 would be disposed within theweigh platter. For purposes of description, the operation will bedescribed with respect to item movement in a right-to-left direction asviewed in the figure, but it will be understood that the scanner may beoperated in a left-to-right direction as well. The scanner 120 isprovided with four scan line generators each producing a scan line(illustrated as scan planes or read planes) directed through the slots124/128: (1) a trailing scan line 132 (directed through slot 124diagonally up and to the left) for reading the trailing left side andthe bottom side of an object swept across slot 124; (2) a leading scanline 130 (directed through slot 124 diagonally up and to the right) forreading the leading right side and the bottom side; (3) a front aimingscan line 134 directed through the slot 128 diagonally down and outwardtoward the operator for scanning the back side (i.e., the side facingopposite the operator) and possibly also the top side; (4) a back aimingscan line 136 directed through slot 124 diagonally up and away from theoperator for scanning the front side (i.e. the side facing the operator)and possibly also the bottom side. Alternately, the slot 124 may extendoutwardly and cover the lower section 122 to about the lower sectionfront edge.

Alternately or in addition thereto, the leading scan line 130 and/or thetrailing scan line 132 may be generated and projected out through thevertical slot 128. Such a configuration would potentially enhance frontside coverage but at the expense of bottom side coverage. However,having one of the leading scan lines 130 and trailing scan lines 132projected out the bottom slot 124 and the other projected out the topslot 128 may produce a good compromise. Desired product performance andinternal space considerations would determine the best placement ofmechanisms supporting scan lines 130 and 132.

In another alternative embodiment, additional trailing and leading scanlines may be generated and projected out the vertical slot 128 incombination with scan lines 130, 132, 134, 136 to form a total of sixscan lines.

This number of scan lines compares to 64 scan lines for the Magellan®8500 scanner for comparable product coverage. This scan coverage ispossible since each scan line of the preferred embodiment is capable ofgathering a complete 2-D image, while scan lines in a conventional laserscanner, for example, the Magellan® 8500 scanner, are capable ofscanning barcodes whose bars are oriented roughly normal to the scanline direction.

Each of the scan lines may be generated and collected by a separate scanengine. FIGS. 9-10 illustrate a non-retrodirective raster scanningsystem 150 according to an embodiment that would produce one of the scanlines of FIGS. 6-8. The system 150 includes a light source 155, such asa laser diode, generating a light beam directed to a ditherer 156 (suchas a resonant mechanical oscillator or other suitable mechanism). Theditherer 156 scans the light beam over an angle α through a gap 161 inthe collection lens 160 and then reflecting off the redirection mirror158 diagonally upward and through the window 154 and toward the item inthe scan volume bearing the barcode. The system 150 implements anon-retrodirective collection mechanism as return light reflecting offthe barcode passes through the window 154, off the redirection mirror158 where it is collected/focused by collection lens 160 toward thedetector 162. The scan plane of the scanning mechanism 152 is parallelto the window 154, due to the redirection mirror 158, which permitsconstruction of a very thin scanner. Because of the high scan raterequired, the preferred embodiment uses a resonant dithering system tocreate the scan line. Due to non-retrodirective collection, the movingmirror of the dither mechanism 156 may also be very small, which isadvantageous for low power and low noise operation.

As a tradeoff for the simpler and more compact optics configuration, thescan rate of the scan mechanism 152 is preferably high on the order of10,000 scans/sec. The scan rate would correspond to a facet wheel speedof 150,000 rpm if the scan line were generated by a four-sided spinningfacet wheel. This rate is high relative to a conventional facet wheelscanner, which scans on the order of 2,000 to 6,000 rpm. In addition,the dither mechanism may be implemented as a resonant mechanicaloscillator and may scan at about 5,000 Hz (cycles per second), providing2 scans per oscillation of the dither mirror, left to right, followed byright to left.

In embodiments employing scan lines generated from multiple scan enginesand thus employing multiple detectors, multiple signals may besimultaneously collected. These signals may be processed by a commonprocessor enabling a partial optical code segment from a scan of one ofthe scan engines to be combined with another partial optical codesegment of a scan from another scan engine, the partial code segmentsbeing stitched together or assembled to produce a complete scan of theoptical code. Any suitable stitching methods may be employed such asthose disclosed in U.S. Pat. No. 5,493,108 hereby incorporated byreference. The systems and methods disclosed herein may also applyadd-on code and multiple code reading techniques such as disclosed inU.S. Published Application No. 2004-0004124 hereby incorporated byreference whereby a base code or first code may be read by one of thescan engines and the add-on code or second code may be read by anotherscan engine.

FIG. 11 illustrates that the resolution of the scanner is dependent inthe X axis on the scan rate, product speed, and non-scanning axis spotsize, and in the Y axis on the width of the scan line, analog to digitalconverter sample rate, scan rate, and scanning axis spot size. Theelements in FIG. 11 are identified as follows:

W_(sample)=LineWidth×ScanRate/SampleRate

W_(scan) and W_(nonscan)=laser spot size

W_(raster)=ProductSpeed/ScanRate

dX=smaller of W_(nonscan) or W_(raster)

dY=smaller of W_(scan) or W_(sample)

The spatial corollary to the Nyquist theorem (for the prevention ofaliasing) requires that to resolve a barcode element of width dX, thesample spacing must be less than or equal to dX (which corresponds to 2samples per spatial period). It may be desirable to have slightly betterresolution than this amount, to ease the signal processing complexity,hence the oversampling ratio R given in the following equation:Sample Rate=L _(scan) ·V·R ² /X ²

-   -   where L_(scan)=scan line length        -   R=oversample ratio        -   X=minimum element width        -   V=product speed            A typical example of the previous equation sets L_(scan)=6            inches, R=1.5, X=7.5 mils, and V=100 inches/second. The            required sample rate is thus 24 MHz. The analog bandwidth of            such a system is the sample rate divided by 2 times the            oversample ratio, 8 MHz in this case.

The present inventor has recognized that an optimum tradeoff occurs whenthe laser spot size is uniform in the X and Y axis (i.e., a round spotshape) and the raster spacing, W_(raster), (at the maximum expected itemspeed) and the spatial width due to the sample rate, W_(sample), are onthe same order as the laser spot size. At slower item speeds, the rasterwidth will be narrower and the laser spot size will determine theresolution in the X axis. Since many of the scan lines hit the productat a 45° angle, it may be desirable to have the non-scanning axis spotsize be about 70% the size of the scanning axis spot size, to compensatefor the spot size growth when projected onto the item bearing thebarcode.

The raster scanning systems described herein may be implemented withnumerous non-retrodirective collection configurations, includingnumerous variations for the collection lens 160 of FIG. 10. Thecollection system should collect light reflected off of a targetanywhere along the scan line 151, which constitutes a large cone angle αin the horizontal plane, but an axial region in the vertical plane. In aretrodirective system such as in FIG. 1, the collected light would beredirected onto the outgoing beam's axis via the retrodirective natureof the large facet wheel 20. The high speed of the scanning mirror 156makes the use of retrodirective optics highly difficult and undesirable.One method of collecting signal over a large cone angle is shown in FIG.12, which illustrates a compound parabolic concentrator (CPC) 172.Technically, the side walls of a CPC 172 are parabolic, i.e., curved,though for ease of illustration, FIG. 12 shows a conical concentratorwith straight walls. A detector 174 is optically bonded to the opticalplastic concentrator 172. Total internal reflection off of the sidewalls of concentrator 172 allows the detector 174 to collect light overa cone angle ψ, as shown in FIG. 41. Unfortunately, the concentratorcollects light in a rotationally symmetric cone of angle ψ, causing thedetector to “see” large areas in space not traversed by the scan line.This rotationally symmetric collection causes the detector to collectambient light, which reduces the quality of the collected signal,especially where the ambient light consists of modulated sources, suchas fluorescent lights. The present inventor has recognized theusefulness of a non-retrodirective collection system that collects lightover a cone angle ψ in the (horizontal) scanning axis but only along theplane of the horizontal axis in order to collect only the returned lightfrom the reflection of the scan line off an object.

FIG. 42 shows a perspective view of such a non-rotationally symmetriccollection lens 400. A detector 410 (shown in FIGS. 43-44) is opticallybonded to the back surface of the lens 400. FIG. 43 shows a simplifiedray trace of the lens in the horizontal plane. The action of the lens400 is similar in principle to the CPC 172 of FIG. 12. The front surface402/403 of this lens 400 is curved to provide improved refraction of thecollected light, which results in a shorter collection lens. This typeof collection system is called a Dielectric Totally InternallyReflecting Concentrator (DTIRC). Conventional DTIRCs have beenrotationally symmetric. Unlike a conventional DTIRC, the collection lens400 of FIG. 42 has the DTIRC surface in the (horizontal) scanning planeonly. In the vertical plane, the lens has a conventional lens shape ofan immersion lens, as shown in FIG. 44. Light rays from the target arefocused by the front surface 402/403 to the detector 410. No totalinternal reflection occurs on the side walls 404, which are kept normalto the detector 410. The front surface curve in the vertical axis istypically designed for collecting light reflecting from a target at thefarthest distance from the collection optic to a spot on the center ofthe detector. Thus, the front surface 402/403 of the collection lens 400in FIG. 42 is anamorphic, where the lens curvature in the horizontalplane is different from that in the vertical plane. Optics designsoftware may be used to optimize the lens surface shape to maximize thecollected energy across the scanning angle α and while minimizing thecollection of ambient light off of the scanning plane. The collectionlens in FIG. 42 is very compact and efficient, and it yields a highnumerical aperture (NA).

For improved collection efficiency, where space permits, the two-lenscollection system 170 of FIGS. 13,14, and 45 may be used. The front lens172 b is preferably as wide as the scan line width and as tall as theavailable product height, illustrated in FIG. 9. FIG. 13 shows thefocusing action of the front lens 172 b. Light reflected off the targetfrom the scanning beam 176 is directed to the front lens 172 b. Thislens 172 b focuses light toward the detector 174. The front lens 172 bis cylindrical, having power only in the horizontal axis. The rear lens172 a has a surface curvature generally parallel on its front and backsurface to the collection ray bundles 172. Such curvature is similar toa drinking glass. The center of curvature of the front and back surfacesis centered on the detector surface. As such, light rays in thehorizontal axis pass through rear lens 172 a undeflected. The rear lens172 a has curvature in the vertical axis, however, making it anothercylindrical optic. FIG. 14 shows how the collected ray bundles arefocused in the vertical axis. The front lens 172 b has no front or backcurvature in the vertical axis, as it is a cylindrical optic. The frontsurface of rear lens 172 a is curved to concentrate the light bundle 172onto the detector 174. The back surface of rear lens 172 a is flat(plano) for ease of manufacturing. This anamorphic collection lenssystem provides a uniform collection efficiency across the scan angle αwhile providing very efficient (high NA) collection. Alternatively, therear lens 172 a may be eliminated and front lens 172 b may havecurvature in both the horizontal and vertical axis, yielding acollection system of lower optical efficiency, but with fewer parts.Because of the high analog bandwidth of the detection system, due to thehigh sample rate previously calculated, high collection efficiency is avery important design consideration. The lenses of FIGS. 42 and 45 canbe made of appropriate optical materials, such as Acrylic orPolycarbonate, but may also be implemented as diffractive opticalcomponents, in a fashion common to those skilled in the art. The largeNA of the lenses, however, may make the diffractive implementation ofthese lenses significantly less efficient than their refractivecounterparts.

Table A below compares values of certain parameters of the Magellan®8500 scanner to a proposed thin raster scanner described above, designedto read 10 mil barcodes up to 100 ips (or equivalently, 5 mil barcodesup to 50 ips in the X axis) with a 6″ long scan line, assuming anoversample ratio of 1.5.

TABLE A Magellan ® Raster Ratio: Parameter 8500 scanner ScannerRaster/Magellan Number of Scan 64 4 1/8 Lines Repetition Rate 100 Hz 10KHz 100 Scan Lines/Sec 6,400 40,000 6.25 Analog Bandwidth 1.6 MHz 4.5MHz 2.8 Analog Channels 2 4 2 Total Bandwidth 3.2 MHz 18 MHz 5.6

The raw data captured from a raster scanner according to a preferredembodiment would be 5.6 times the raw data from the Magellan® 8500scanner. In a preferred embodiment, only a selected subset of this datais processed, corresponding to the chosen virtual scan lines, but inprinciple, all of this data may be used, if needed, to read the opticalcode. In addition, all of the raw data from the raster scanner is froman image that is gathered from the moving object so that data may becorrelated spatially. In contrast, a conventional laser scanner, as inFIG. 1, can only decode barcodes that are traversed nearly from end toend by the generated scan lines, and requires scan lines that roughlymatch the possible orientations of a barcode even when employingstitching of scan line segments.

In order to reduce the amount of data that needs to be processed todecode barcodes, a “virtual” scan pattern is generated from the capturedimage data. In principle, any “virtual” scan pattern may be generatedfrom the raw data captured by the raster scan mechanism. The generatedscan pattern should be dense enough in orientation and position totraverse any barcode in any orientation, within the expected barcodesize and aspect ratios. Optimally, the virtual scan pattern is denseenough but not more dense than necessary, in order to keep theprocessing bandwidth to a minimum.

FIG. 15 illustrates one embodiment of an electronic scan generator 190.There may be one generator 190 for each analog channel in a scanner suchas four channels in the example from Table A. The signal from a detector191 is pre-amplified by pre-amp 192 and passed to an analog/digital(A/D) converter 194 which digitizes the signals, forming sampled pixels,and then passed to a processor 196. The preamp 192 may further comprisea programmable gain stage and anti-aliasing low pass filter. In apreferred embodiment, the preamp, gain stage, and anti-aliasing filtermay be implemented as an analog Application Specific Integrated Circuit(ASIC).

The digital output of the A/D converter represents a full 2-D image asdescribed in FIG. 11. If the full image needed to be processed, it couldbe stored in a frame buffer at this point. In the preferred embodiment,the processor 196 implements a pixel picker algorithm, which choosespixels along predetermined virtual scan lines and stores only thosepixels in memory. The processor 196 uses the values of counters as pixelcoordinates that are incremented by the A/D clock (for the Y axis fromFIG. 11) and the high speed ditherer 193 period clock (for the X axisfrom FIG. 11). The chosen pixels are stored in a scan line buffer 198for each of these virtual scan lines. The scan line buffer 198 may be asingle memory array with the processor 196 choosing the appropriatememory address within the memory array for storing the pixel data. Thescan line selector 202 provides a full line of scan data for processingwhen the selector 202 recognizes that an entire scan line of data hasbeen stored in a given scan line buffer 198. Also, the scan lineselector 202 may provide sequential delivery of full scan line data whenmultiple scan lines from the buffer 198 are available. The data from thescan line selector 202 is processed scan line by scan line using an edgedetector 206, which may be a digital edge detector. Element width datafrom the edge detector 206 is processed by a decoder 208 to yielddecoded barcode data. Typically, the raw preamp signal is processeddigitally after the analog to digital conversion. Alternately, the edgedetector 206 may be implemented in analog hardware instead of digitalhardware when required by the processing complexity and speed. Thisprocessing could be implemented with a digital to analog converter (DAC)in edge detector block 206 to convert the digitized pixel data to ananalog waveform. As the speed and complexity of raster scanningincreases, some or all of the components at 196,198, 202, 206 and 208may be substituted for a processor or by an ASIC.

FIG. 16 illustrates hardware architecture for an electronic scan patterngenerator 210 in which an ASIC 212 contains the electronic scan patterngeneration and signal processing functions. The signals from eachdetector (for example, the four detectors described above) arepre-amplified by pre-amp 218 and passed to an analog/digital converter216 which digitizes the signals for each “pixel” and then passes them tothe ASIC 212 which determines, in communication with the ditherer 220,which “virtual” scan line(s) each of these pixels belongs to. A randomaccess memory (RAM) 214 may be a separate device as shown or may beincorporated into the ASIC 212. The analog to digital (A/D) hardware 216may also be fully or partially contained within the ASIC 212. Digitizedraw analog data is preferably stored in the scan line buffers because amuch lower sample rate is required to store raw data versus edgeposition data, and because multiple rows of raw data would need to beprocessed to digitize the signal in two dimensions in order to determineedge locations to sub-pixel accuracy that is typically required forbarcode decoding. So, in the preferred embodiment, binarizing the rawdata (i.e., edge detection) is performed after the virtual scan lineshave been assembled. This accumulated data may then be processed by asuitable method such as disclosed in U.S. Pat. Nos. 5,446,271;5,635,699; or 6,142,376, each of these patents being hereby incorporatedby reference.

Effective scan patterns may preferably be generated following a few verysimple rules. FIG. 17 diagrammatically illustrates a set of scan lines,shown on the raster scan pattern, viewed as an image, containing pixels(digitized samples of the raw preamp data). The data digitized from themost recent raster scan line of data is depicted as column 232. Thecolumns to the left of column 232 are from previous raster scans of theobject. The scan line 230 may be formed by storing a single pixel fromeach raster line and then advancing the row of the raw data column 232to store by one pixel every 4 raster columns. To make the entire scanline family, a total of four scan line buffers would be used, with thepixel picking module storing a total of four equally spaced pixels, oneinto the four scan line buffers, offsetting the starting point everyfour lines. There are 32 pixels in the scan line column, in thisexample, and only four pixels are stored, making the output data rate tothe edge detector 206 only ⅛ of the A/D sample rate. In an actualsystem, there may be 1200 pixels/line or more (assuming a 6″ scan linewith 5 mil resolution and an oversample rate of 1×, and many more scanlines than illustrated in FIG. 17. The reduction in data rate to theedge detector 206 is dependent on the density of the desired scanpattern.

In order to conceptualize the scan pattern generation, a shorthanddrawing methodology will be used. Instead of drawing all of the pixels,with dark pixels showing the selected pixels for the scan line, linesare drawn at the appropriate angles to illustrate the orientation of thechosen pixels. The drawings of the pixel patterns look just likeconventional laser scan patterns. However, it should be recognized thatthese lines are composed of pixels, not continuous lines and are virtualnot physical. The physical scan pattern in all cases is a single rasterline with item motion providing the other dimension to form an image.Since these “lines” are composed of pixels, the pixel resolution must behigh enough in order for a label to be read, i.e., to avoid aliasing inthe signal. Thus it is possible to draw a scan line in the correctorientation but having too low resolution to read a given label.Examples of low resolution cases will be addressed below. A rasterscanner, such as depicted in FIG. 6 or FIG. 8, may have 4 raster lines,thus generating 4 separate raster image views of different sides of theobject that is swept past. The scan pattern generators 190 for eachraster line may be creating identical scan patterns, or different scanpatterns as appropriate to the desired use.

Unlike conventional barcode scanners, the scan pattern of the rasterscanner changes with, and indeed is determined by item speed. FIGS.18-21 illustrate creation of an X-pattern onto an item being passedthrough the scan field for a raster scanner where the scan line isrepeated at 10,000 scans/sec. In these figures, the item is being movedthrough the scan field from left to right. The X patterns are generatedby storing one pixel from the digitized raster line 232 for each scanline. The pixel Y coordinate (position along digitized raster line 232)is advanced by 1 in either the positive or negative direction to createeach line in the X pattern.

FIG. 18 shows the scan pattern of two scan lines (N=2) that advance by 1pixel in the Y direction for each new captured raster column 232. Thevertical physical extent of the scan line 232, the scan rate, and itemvelocity (V=100 ips) are such that the captured scan lines form an Xpattern 250 at an angle θ=45° to the vertical. When each scan line 250is completed, that is the Y coordinate hits the end of the raster line232, a new scan line is generated in a similar fashion.

For a product being passed through the scan field at 50 ips (V=50 ips)as shown in FIG. 19, the X pattern 250 becomes compressed by a factor of2 in the X axis. In the same time period as FIG. 18, the X pattern mayrepeat twice, yielding four lines (N=4) denoted 252 and 254. While theangle of the scan lines in the captured image remains at 45°, the sloweritem motion results in the angle of the X pattern if projected on theitem becoming θ=27° to the vertical.

For a product being passed through the scan field at 25 ips (V=25 ips)as shown in FIG. 20, the X becomes compressed by a factor of 4 in the Xaxis. In the same time period, eight lines (N=8) forming four X patterns256, 258, 260, 262 are projected on the item, the scan lines being at anangle θ=14° to the vertical.

For a product being passed through the scan field at 12.5 ips (V=12.5ips) as shown in FIG. 21, the X becomes compressed by a factor of 8 inthe X axis. Sixteen lines (N=16) forming eight X patterns 264, 266, 268,270, 272, 274, 276, 278 are projected on the item, the scan lines beingat an angle θ=7° to the vertical. In order for the raster scannerconcept to function efficiently, the item bearing the barcode has to bemoved through the scan field at a given minimum velocity. A practicalimplementation can be achieved for item speeds as slow as one inch persecond, but in any event, it is noted that in the typical scannerenvironment, the operator is moving the item through the scan field atvarious speeds. Thus the scanner does not know how fast the item ismoving so the system must be able to handle various possible itemspeeds.

As illustrated in FIGS. 18-21, at lower speeds, the compression of thescan lines in the direction of product motion distorts the scan pattern.Conversely, at high speeds, such as speeds higher than 100 ips in FIGS.18-21, the resolution may be too poor to read 10 mil labels, since thespacing between the scanned columns 232 becomes farther apart. Inaddition, the X pattern would become stretched out in a directionperpendicular to the direction of item movement. So the maximum productspeed is limited by the scan line repetition rate, to provide sufficientresolution. The scan pattern designed for the maximum product speedshould include scan lines of appropriate orientations and offsets tosufficiently cover the scanning region. This coverage is accomplished bypixel assignment module 196 selecting the appropriate pixels out of thedigitized raster line by appropriate advancement of the pixel Ycoordinate with successive columns of digitized raster lines 232.

Two preferred methods are described for generating an X pattern ofshallower angles at the slower product speeds. In the first method, itis considered that an X pattern is desired at half of the maximumproduct speed. The pixel Y coordinate may be incremented every otherraster line, yielding a scan line with twice as many pixels as the Xpattern's scan line designed for maximum product speed. This method iswasteful of memory and processing bandwidth, as the data would bespatially oversampled by a factor of 2 over the maximum product speedcase. The preferred method of generating an X pattern of shallowerangles at slower product speeds, is to design the pixel assignmentmodule to skip scan lines when gathering pixels to store as virtual scanlines. For example, to make an X pattern with a θ=45° at 50 ips itemspeed instead of 100 ips, a pixel is stored from every other scan lineand the position incremented every other scan line. The resultant scanline has ½ the output data rate (into the edge detector 206) as the Xscan pattern at 100 ips. In this fashion, extra scan lines are generatedat ½ speed multiples of one another to produce X scan lines on itemspassing at these slower item speeds.

If eight complete sets of scan lines are created at 1, ½, ¼, ⅛, 1/16,1/32, 1/64, 1/128 the scan line rate, the same “shape” scan pattern willbe available over a 128:1 range of label speeds, such as from 0.8 ips to100 ips. The required edge detection and decoding data rate to processthis family of scan lines is only two times the amount needed to handlethe high speed scan line by itself, since 1+½+¼+⅛+ 1/16+ 1/32+ 1/64+1/128 is approximately 2. The processing savings and memory savings overmaking longer scan lines with slower pixel Y coordinate increment ratesat the full raster rate are very significant.

FIGS. 22-25 illustrate the effect of this slower speed X patterngeneration. The scan patterns illustrated in FIGS. 22-25 include the“fast” scan patterns of FIGS. 18-21, but also include the additional Xpattern at the ½ speed multiples thereby providing a moreomnidirectional pattern on items that are passing through the scan fieldat slower speeds. In contrast with a conventional fixed scanner whosescan pattern is constant for all product speeds, the scan line densityfor this raster scanner increases as the item is moved more slowlythrough the scan field. Thus for the same number of scan lines persecond, the raster scanner has a far better scan pattern, because of theextra orientations of scan lines present at slower scan speeds.

Referring specifically to FIG. 22, for an item being passed through thescan field at a speed V=100 ips (full speed), a single X pattern 250 oftwo scan lines (N=2) is projected on the item, the scan lines being atan angle θ=45° to the vertical.

Referring specifically to FIG. 23, at a speed of V=50 ips (½ speed), theX pattern becomes compressed by a factor of 2 in the x-axis. Four linesforming two X patterns 252, 254 (also shown in FIG. 19) are projected onthe item, the scan lines being at an angle θ=27° to the vertical; and anadditional X pattern 280 whose scan lines are at an angle θ=45° to thevertical is projected on the item. The scan pattern is generated bystoring pixels from every other raster line. Thus a total of six scanlines (N=6) are generated.

Referring to FIG. 24, at a speed of V=25 ips (¼ speed), the X patternbecomes compressed by a factor of 4 in the x-axis. Eight lines formingfour X patterns 256, 258, 260, 262 (also shown in FIG. 20) are projectedon the item, the scan lines being at an angle θ=14° to the vertical; theX pattern 280 (from FIG. 23) becomes compressed by a factor of 2 in thex-axis with four lines forming two X patterns 280 a, 280 b (at an angleθ=27° to vertical) projected on the item; and an additional X pattern282 whose scan lines are at an angle θ=45° to the vertical is projectedon the item. Thus a total of 14 scan lines (N=14) are generated.

Referring to FIG. 25, at a speed of V=12.5 ips (⅛ speed), the X patternbecomes compressed by a factor of 8 in the X axis. Sixteen lines formingeight X patterns (for the element numerals see FIG. 21, patterns264-278) are projected on the item, the scan lines being at an angleθ=7° to the vertical. The X patterns 280 a, 280 b (from FIG. 24) becomecompressed by a factor of 2 in the x-axis with eight lines forming fourX patterns 280 a, 280 b, 280 c, 280 d at an angle θ=14° to verticalprojected on the item. The X pattern 282 (from FIG. 24) becomescompressed by a factor of 2 in the x-axis with four lines forming two Xpatterns 282 a, 282 b at an angle θ=27° to vertical projected on theitem; and an additional X pattern 284 whose scan lines are at an angleθ=45° to the vertical is projected on the item. Thus a total of 30 scanlines (N=30) are generated.

Additional scan line sets may be produced for each of the other ½ speedmultiples ( 1/16 speed, 1/32, 1/64, 1/128) in similar fashion providingenhanced item coverage at these lower item speeds.

Though a highly omnidirectional pattern at 12.5 ips is illustrated inFIG. 25, only a single X pattern 250 at 100 ips is illustrated in FIG.22. Thus it may be desirable to enhance omnidirectionality at highspeeds by adding extra scan lines at such speeds. For example, a pair of27° lines may be added to the 100 ips pattern (only), which willreplicate itself at 50 ips as 14°, and 7° at 25 ips, and so on. Anotherpair of lines at 140 for the 100 ips pattern may also be added, ifdesired. Each pair of lines added at 100 ips adds heavily to theprocessing burden, since it is running at the maximum speed, thus it maybe preferred to not make the highest speed as omnidirectional, for thesake of processing efficiency. Furthermore, the benefit of these linesat slower product speeds is reduced compared to those of the X patternspreviously described, as the shortening of the scan lines with increasedspeed makes them less likely to traverse the entire barcode.

Insight into the behavior of the scan pattern at various speeds can beseen with the aid of FIGS. 26-29. Using the same scan pattern generationmethod used in FIGS. 22-25, the orientations of the scan lines are showncentered around a common axis (left to right positions of the scan linesare shifted to hit a common center). FIG. 26 shows the scan pattern at100 ips, showing the single X pattern 300. FIG. 27 shows the compressedX pattern 304 of FIG. 26, along with the X pattern generated 302 at ½speed. Two sets of scan angles make up the scan pattern: ±45° and ±27°.FIGS. 28 and 29 show the scan line orientations at slower productspeeds, with FIG. 29 showing 4 different scan angles. A deficiency ofscan angles can be seen between 45° and 90°.

FIGS. 30-32 illustrate additional scan lines that may be created to fillthese gaps. These additional scan lines are created by a slowerintra-scan line (pixel Y coordinate) advance rate than 1 per pixel. Forexample, in the 100 ips pattern, a pixel from two successive scan linesis taken at the same scan line “coordinate” before advancing to the nextpixel position along the scan line. This advance rate may be referred toas a ½ pixel/line advance rate as opposed to the 45° scan line pair 290shown in FIG. 30, which has a 1 pixel/line advance rate. This ½ advancerate creates a scan line pair 292 at 63° as illustrated in FIG. 31.Though this type of scan pattern requires a scan line buffer that is 2×the length of a 45° pattern, the data processing rate is the same as theX pattern at 100 ips. Similarly, using a ¼ pixel/line advance rateyields a scan line pair 294 at 76° (as illustrated in FIG. 32) requiringa 4× depth scan line buffer. The data processing rate for the 76°pattern is the same as for the 45° pattern. If scan lines of theseorientations are desired at slower scan speeds, they can be generated byskipping raster lines as previously described for the X patterns, withthe attendant processing rate reduction. However, the memoryrequirements for these lines are similar to the maximum speed case,requiring more memory than the X patterns.

Table B below summarizes the scan angles available with simple pixelassignment module algorithms. The X increment rate describes whether apixel is taken every raster scan line or if raster scan lines areskipped. A rate of 1 means that a pixel is stored from every rasterline. A rate of ½ means that two pixels would be stored from a givenraster line. As these scan patterns are replicated at slower speeds, theX increment rate is scaled appropriately. The Y increment rate describesat what rate the Y coordinate within the raster scan line isincremented. Table B shows just 7 types of scan lines, each being formedby simple pixel address computation. FIG. 46 illustrates graphically thescan lines created from this table. Also shown is the angular spacing Δbetween scan lines. An interline angular spacing between 13° to 18°results. The angular spacing is quite small compared to the scan patternof the Magellan® 8500 scanner, which has about a 30° angle spacingacross its pattern. The smaller this angle, the more truncated thelabels may be and yet still be readable. Even denser angular coveragecan be yielded using finer X and Y increment rates, made possible by useof the Bresenham line drawing algorithm, for example.

TABLE B Y Increment Rate X Increment Rate (Pixel/Line) (Lines/Pixel)Scan Angle   0 1   90° ±¼ 1 ±76° ±½ 1 ±63° ±1 1 ±45° ±1 ½ ±27° ±1 ¼ ±14°  1 0    0°

In addition to having enough rotational coverage of the scan pattern,the pattern may require spatial coverage. Multiple parallel scan linesmay be generated by offsetting the starting pixel by a constant amountfrom the previous scan line. FIGS. 33-36 illustrates a set ofincreasingly dense scan patterns created by this method. The combinationof this increased density method with the previous method of generatingdifferent scan angles produces a dense omnidirectional pattern.Increasing the number of parallel scan lines at a given angle directlyincreases the processing load. The label N in the drawings indicates thenumber of parallel scan lines at a given scan angle.

To implement these scan pattern types, a preferred configuration for thepixel picking module 196 implemented in a processor may include:

-   -   Two raster line memories where the digitized pixel data from the        A/D converter 194 for a single raster line is stored, wherein        one memory is used to store the incoming raster line, while the        other memory is used to retrieve chosen pixels from the        previously stored line, whereby the memories alternate in        function on each raster line in a manner known in the art as        double buffering;    -   A scan line memory 198 with sufficient size that is capable of        storing all of the chosen pixels for all of the scan lines in a        given scan pattern;    -   A list of data representing the desired scan pattern including,        but not limited to, for each scan line the starting X pixel        coordinate where the scan line starts (to account for the        repetition of this line over time), the starting Y pixel        coordinate on the first raster column of data and the increment        rate to determine the angle of the scan line, and a total number        of pixels to store (describing the length of the line);    -   A set of values that keep track of the next pixel that is to be        stored for each scan line;    -   A software program that includes, but is not limited to, for        each new raster line stored in the raster line memory, through        all of the scan lines, choosing pixels at the designated        coordinates, storing the chosen pixels in the appropriate scan        pattern memory and incrementing the designated coordinates by        the increment rate.

A very flexible and efficient algorithm for implementing the pixeladdressing is the Bresenham line drawing algorithm, for it uses integerarithmetic to calculate pixel coordinates of lines with arbitrary startand end coordinates. Implementation of the pixel picking module 196 inhardware may be implemented in a significantly different manner. Ahardware implementation would typically be invoked when the requiredspeed of the block is too high for a reasonable implementation on aprocessor. Restrictions on the scan angles, such as shown in Table B mayallow the hardware implementation to be significantly less complex. Useof logical operations on pixel X and Y addresses may allow the digitizeddata from the A/D converter 194 to be stored into the scan line memory198 without the need for a pair of scan line buffers or sequentialstoring logic.

Following is an example of a preferred embodiment of the raster scanner.Typically, the scanner raster contains four raster mechanisms, such asin FIG. 8. Each dithering device 156 (FIG. 9) is operating at 5 KHz or10,000 scans/sec. For an object moving past the scanner at 100inches/sec, the spacing between raster lines is about 10 mils. At anobject speed of 60 inches/sec, the spacing between raster lines is about6 mils. The scan lines are each 6 inches long as they approach theassociated window of the scanner. This scan line length is achieved byobtaining a suitable distance inside the scanning enclosure between thewindow and the dithering device 156. If the dithering device deflectionangle α were to be about 28°, the dithering device would need to be 12″behind the window in order to project a 6″ wide scan line at the window.The use of mirrors, such as redirection mirror 158 allows the 12″ pathlength to be taken up in a small physical space, with additional mirrorsif necessary. By sampling at 1000 samples per scan line or 10 MHz thereis a sample resolution of 6 mils. In order to match the performance of aconventional laser scanner, for example the Magellan® 8500, the scanpattern from each raster line may contain three sets of scan angles:14°, 45°, and 76° with +/− orientations, totaling 6 orientations spacedabout 30° apart.

There are four parallel lines at each scan angle providing 24 virtualscan lines that are formed from each of the four raster line generatedby the preferred scanner that is described herein. Therefore, a total of96 virtual scan lines are generated by the scanner to read productssweeping at the maximum designed speed of 100 inches/second.

To cover varying item speeds, additional slower data rate virtual scanlines are generated at ½, ¼, ⅛, 1/16, 1/32, 1/64 and 1/128 the rasterline rate. The raster line rate provides eight times the total number ofscan lines or 768 scan lines. The data rate to the edge detectors is 2×the data rate of the original 96 scan lines because of the reduced datarate of the additional scan lines (the sum of 1+½+¼+⅛+ 1/16+ 1/32+ 1/64+1/128 is approximately 2). The slowest sweep speed that will have a fullomnidirectional pattern is 100 ips divided by 128, which isapproximately 0.8 ips. The number of samples in each of the 14° and 45°scan lines is 1000 samples, which is the same as the digitized width ofthe raster line. The number of samples in the 76° scan lines is 2000samples as shown in FIG. 32. The total number of stored samples for thewhole scanner may be calculated by (4 sources)×(4 parallel lines)×(2orientations)×(1000 samples/14°+1000 samples/45°+2000 samples/76°)×8speeds which is equal to about 1 million samples. If two bytes arestored per sample, then the 1 million samples are 2 Mb of memory.Consequently, dynamic random access memory or DRAM is appropriate as thedata is refreshed constantly at a rapid rate. Furthermore, the averagenumber of pixels that are chosen from each raster line is 48 out of apossible 1000 pixels or about 5%, since there are (4 parallel lines)×(2orientations)×(3 angles)×(1+½+¼+⅛+ 1/16+ 1/32+ 1/64+ 1/128) pixelschosen per virtual scan line per raster line). While the sample rate ofeach raster line is 10 MHz, the pixel rate of data going into thevirtual scan line memories and to the edge detector is 480 KHz.Considering the four raster lines that make up the scanner, then about 2million pixels/second may be processed by the edge detector. Thisprocessing speed corresponds to an equivalent analog bandwidth of 1 MHzwhen there is analog based edge detection. For a facet wheel typebarcode scanner such as the Magellan® 8500, the analog edge detectionbandwidth is 1.6 MHz per channel, or 3.2 MHz total. So the rasterscanner can provide a much denser scan pattern while using less than ⅓of the edge detection and decoding bandwidth.

As shown in FIGS. 22-25, the scan pattern becomes denser at slower sweepspeeds, which improves the ability to read truncated labels over ascanner such as the Magellan® 8500. The scan pattern of the describedraster scanner provides a fairly constant 30° spacing at the fastestspeed. At slower speeds, the angular coverage becomes increasingly moredense and the spacing of lines closer together in the direction oftravel. While the spacing effect happens on a facet wheel scanner, thereis no angular coverage effect for the facet wheel scanner, yieldingimproved performance with the raster scanner.

As processing power and memory permit, the virtual scan patternsgenerated from the incoming raster lines can be as dense as desired.While the preferred embodiment employs a virtual scan pattern mechanism,those skilled in the art realize that up to the output of the A/Dconverter 194, the described scanning mechanism (of FIG. 8, for example)is capable of capturing multiple 2-D images of a scanned object. Imagesof objects other than and including barcodes may be captured in asuitable frame buffer memory to allow more sophisticated imageprocessing than the virtual scan line technique allows.

The design of the A/D converter may be an important factor to costeffectiveness of a raster scanner design. The raw data coming from thepre-amp will require probably 12 bits of resolution. The bandwidth inthe example on Table A requires an analog bandwidth of 4.5 MHz and asample rate of 13.5 million samples per second (MSPS) for the A/Dconverter, at an assumed oversampling ratio of 1.5. With clever design,the A/D for this application may be simplified. The global dynamic rangeis wide, but the dynamic range of the barcode itself is quite low,perhaps only 6 bits. If a ranging converter were used (gear shift/gaincontrol concept) then a slow, coarse A/D can select the gain and a fast,coarse A/D can digitize the barcode data itself. The full 12 bit datawould be recorded inside the ASIC. Much of the A/D functionality mayreside inside the ASIC itself, such as for example in the form of amodified sigma-delta converter, lowering cost further by utilizing thesilicon already purchased for the ASIC.

The raster scanner relies on item motion to generate the scan pattern.If an item does not scan and the user holds the label stationary infront of the scanner, the raster scanner cannot read a label unless thebarcode is oriented such that a raster scan line (or a plurality ofraster scan lines if stitching is employed) traverses the entirebarcode. It may be advantageous to augment the sweep operation of theraster scanner with a mechanism that can read barcodes when there islittle or no movement of the code. This mechanism need only readbarcodes moving up to less than 1 inch per second. Many technologies aresuitable for this purpose, including 2-D solid state imaging devicesusing charge coupled device (CCD) or CMOS sensors.

FIGS. 37-38 illustrate an alternate raster scanner 350 having an L-shapeconfiguration with a lower horizontal section 352 and an upper verticalsection 356. The lower section 352 includes a narrow slot horizontalwindow 354, behind which is one or more raster scan mechanisms 152 ofFIG. 9, but the upper section includes a large rectangular verticalwindow 358. Since items are not dragged across the vertical window 358,its material may comprise standard glass (rather than the more expensivesapphire or other scratch-resistant surface of the horizontal window354). Vertical window 358 contains a 2-D imaging device and may alsoinclude one or more raster scan mechanisms 152 as illustrated in FIG. 9.This design optimizes the ability to read stationary barcodes (throughthe vertical window) or swept barcodes (from any orientation). Cost isminimized by reducing the size of the horizontal window 354, which needsto be made of expensive scratch resistant material. A scanner similar toFIG. 37 may be made employing a 2-D imaging device in both thehorizontal and vertical windows, in addition to one or more raster scanmechanisms 152.

The 2-D imaging device depicted in FIG. 37 may be implemented with aform of a raster scanning device. FIG. 38 shows one example how theraster scan mechanism 152 can be modified to provide reading of swept aswell as non-moving objects. The redirection mirror 158 of FIG. 9 isreplaced by a scanning mirror 366. Components 362, 364, and 368 areequivalent to those 156,161, and 162 of FIG. 9. Mirror 366 is deflectedback and forth, illustrated by pivot 367. This deflection mechanismcould be implemented with a motor, a dithering system, or whatevermechanics are appropriate for the space, size, and cost of theapplication. The raster line is emitted out a larger window 358 atvarious angles as directed by mirror 366. The mirror 366 is deflected ata slow rate to provide numerous scan lines per oscillation period. Thetraversing of the scan line from, say, left to right or right to left iscalled a frame. Ideally this time is an integral multiple of the rasterscan period. For example, in a preferred embodiment system where theraster scan line rate is 10,000 lines per second and 1000 pixels aredigitized per raster scan line, a frame rate of 10 frames per secondwill allow 1000 rows to be digitized per frame, yielding an image of1000×1000 pixels. The mirror 366 will oscillate back and forth at a rateof 5 cycles per second (5 Hz). A stationary object is thus imaged in 2dimensions by the Y dimension action of the raster scan mechanism andthe X dimension action of the deflection mirror 366. The deflectionmirror 366 provides a retrodirective collection path in the X dimensionto detector 368. Thus the mirror size needs to be large—but since thedeflection speed is so small, there is little penalty for this designchoice. An exemplary drive mechanism for deflection mirror 366 is alinear motor. Such designs are popular in the design of disk drive seekheads. These designs provide efficient torque in a small, low costpackage. The use of a moving magnet and fixed coil allows the use of astationary hall sensor within the coil to sense the magnet (and thusdeflection mirror 366 position) at low cost. This configuration isreadily suitable for both fixed and handheld systems.

Since the raster scanner captures a 2-D raster image from multipleplanes, it is quite possible to read PDF-417 and true 2-D barcodes, suchas Maxi-Code. The data may be stored as a rolling 2-D image andprocessed with techniques common for 2-D imaging scanners. Though theprocessing burden would be significant at fixed scanner speeds, apresentation scanner or slow sweep scanner would be quite feasible bysub-sampling the scan lines.

The raster scanner concept naturally lends itself to single line solidstate imaging techniques. The use of imaging in a fixed scanner has beenproblematic because of getting enough light on the target and achievingenough depth of field. These problems are managed with this conceptbecause when non-ambient illumination is desired, such illumination isonly necessary along a few (typically or for example 4) scan lines orread planes, instead of requiring a 2-D field to be illuminated. Theimaging mechanism 370 of FIG. 39 replaces the laser scanning mechanismof FIG. 9. A linear imager 372 may be used in conjunction with animaging lens 384 to image the target 388 along a read plane within theread volume over a desired depth of field. The fold minor 378 serves thesame purpose as beam redirection minor 158, folding the optics into athin package. The field angle of the linear imaging system maypreferably be similar to that of the laser scanning mechanism of FIG. 9,namely about 28°, which simplifies the correction of off axis opticalaberrations, such as coma.

The light source 374 may be a set of light emitting diodes (LEDs),providing a bright narrow strip of illumination over the desired depthof field thus projecting an illumination plane into the read volume. Theread plane projects into the read volume generally transverse to theitem direction and generally coplanar with the illumination plane. Inthe case of LED illumination, where the height of the illuminationregion is large with respect to the desired resolution of the system, alinear imager 372 with square pixels is desired, so the resolution isuniform in the X and Y axes at the maximum sweep speed. To providesimilar performance as the laser scanning mechanism, the imagingmechanism 370 preferably is run at 10,000 scans per second. This speedcorresponds to an exposure time of 100 μs. The short exposure time,combined with the large depth of field requirement (typically 9 inches)and available illumination intensity may put severe restrictions on thelens/imager system. The preferred embodiment uses low noise linear CCDsor linear CMOS sensors. The lens system described in U.S. patentapplication Ser. No. 11/045,213, U.S. Pat. No. 7,215,493, herebyincorporated by reference, provides improved optical efficiency that maybe beneficial in this embodiment.

Alternatively, the light source 374 may be a visible laser diode 374 aand lens 374 b as shown in side view in FIG. 47. The lens 374 b focusesthe laser diode light onto the barcode target at a position along amutual optical axis of the imaging system at 389. The pixels of linearimager 372 are rectangular in shape, in order to collect light from aregion including and slightly surrounding the laser beam in order tomaximize collection efficiency. FIG. 48 shows a top view of theassembly. The lens 374 b is preferably cylindrical, with little or nooptical power in this top view. Typical laser diodes have a large amountof astigmatism, yielding an emission cone that is very large in oneaxis, which coincides with the top view in this figure. The lens 374 bfocuses the narrow axis of the laser diode in order to make a projectedlaser line. This laser line generator coincides with the field of viewof the linear imager 372.

The action of the image sensing region of the pixels 391 of linearimager 372 is illustrated in FIG. 49. The laser line source 389 hits thebarcode target. Pixels 391 of the linear imager 372 collect all of theenergy of the laser beam and divides it spatially by pixels. Theposition tolerance of the laser line 389 is manufacturable, because ofthe large collection area afforded by the rectangular pixels 390 of thelinear imager 372. In this system, the thickness of the laser linesource provides the imaging resolution in the movement axis of themechanism (termed the X axis in previous figures), while the pixel width391 determines the resolution in the so-called scanning axis (termed theY axis in previous figures). So the height of the pixels does notdetermine the resolution of the system, but provides a means forefficiently collecting the returned laser light. The present inventorhas recognized that generation of a laser line source typically createsspeckle and beam nonuniformity. These effects may be combated throughvarious means, including use of a laser with a short coherence length(wide bandwidth), by microdithering, or by other suitable techniques.

In the above configurations, the item being read and the data reader aremoved relative to each other. As described, in a fixed scanner, the itemmay be moved in the given item direction through the scan plane. Inanother configuration, the item may be stationary, such as in a handheldreader configuration, and the handheld reader moved in a direction suchas to pass the scan plane(s) past the item.

Further reductions in illumination and increases in depth of field maybe achieved by using an optical configuration using the Scheimpflugtechnique. For example, the scanner 390 illustrated in FIG. 40 uses a2-D imager 392 as a single line scanner. Each of the other elements inthe figure are the same as the embodiment of FIG. 39 and bear the samenumbers. The focal plane of the imager 392 is tilted in order to havedifferent rows focus at different target distances. The lens aperturecan be larger, since each row needs to cover a smaller depth of field.The aggregate of all of the rows of the imager 392 provides the requireddepth of field. This larger aperture allows the system to collect morelight, enabling lower intensity illumination, such as with LEDs 374.Inexpensive CMOS imagers may be used, since this technique does notrequire a frame shutter as do other 2-D imaging techniques, since onlyone row of the imager is used for a given raster scan.

In order to reduce the data rate coming out of the imager, it ispreferred to locate which row or rows have data and selectively scan outonly that row. The integration and row readout need to happensimultaneously, each occurring in 100 μs for the preferred embodiment.Selecting the row of data that is in best focus may be performed in manyways. If a narrow enough source of illumination is provided, such as bylaser line illumination or well focused LED illumination and thisillumination is directed along the plane of best focus, the lines in theimage with the most illumination are in best focus. This selection ofbest focus may be quite readily determined by circuitry within the 2-Dimager itself. Thus an automatic way for the 2-D imager to provide onlythe row in best focus is easily obtained. Alternately, the modulationdepth of data on different rows of the imager may be compared todetermine which row has the most modulation depth (of high frequencydata) and thus is in best focus. In either method, the change of row inbest focus from scan to scan is likely to be slow as the object ismoving slowly compared to the imaging line rate.

While there has been illustrated and described a disclosure withreference to certain embodiments, it will be appreciated that numerouschanges and modifications are likely to occur to those skilled in theart. It is intended in the appended claims to cover all those changesand modifications that fall within the spirit and scope of thisdisclosure and should, therefore, be determined only by the followingclaims and their equivalents.

1. A method of reading optical codes, comprising the steps of moving anitem containing an optical code along an item direction past a slot, theslot being disposed in a first surface of a scanner housing or platterand the slot being elongated in one direction and oriented generallytransverse to the item direction, the slot having a narrow widthparallel to the item direction; via a first scan mechanism, repeatedlyscanning through the slot along a single line to form a first scan planeat a rearward first slant angle to the first surface in a rearwarddirection to acquire, in combination with movement of the item, a firstset of scanned data of a two-dimensional image of at least a leadingside of the item; via a second scan mechanism, repeatedly scanningthrough the slot along a single line to form a second scan plane at aforward second slant angle to the first surface in a forward directionto acquire, in combination with movement of the item, a second set ofscanned data of a two-dimensional image of at least a trailing side ofthe item; processing the first and second sets of scanned data acquired.2. A method according to claim 1 wherein the step of processing the setsof scanned data comprises storing a selected portion of said first setof scanned data; and decoding the selected portion of said first set ofscanned data according to a plurality of virtual scan lines.
 3. A methodaccording to claim 1 further comprising acquiring, in combination,scanned data of two-dimensional images of at least three sides of theitem including the leading side, the trailing side, and a side facingthe slot.
 4. A method according to claim 1 wherein the item comprises asix-sided box-shaped item including a first side comprising the leadingside, a second side comprising the trailing side, a third side facingthe slot, a fourth side transverse to the slot and proximate an operatorposition, a fifth side transverse to the slot and opposite the fourthside, and a sixth side opposite the third side, the method furthercomprising the first and second scan mechanisms acquiring, incombination, scanned data of two-dimensional images of at least thefirst, second and third sides of the item; via a third scan mechanism,repeatedly scanning through the slot at a first tilt angle to thesurface in a first direction from a first end of the slot and along asingle line to acquire, in combination with movement of the item, athird set of scanned data of a two-dimensional image of the fourth sideof the item transverse to the slot.
 5. A method according to claim 4further comprising via a fourth scan mechanism, repeatedly scanningthrough the slot at a second tilt angle to the surface in a seconddirection from a second end of the slot and along a single line toacquire, in combination with movement of the item, a fourth set ofscanned data of a two-dimensional image of the fifth side of the itemtransverse to the slot.
 6. A method according to claim 1, wherein theslot comprises a first window, the method further comprising the stepsof forming the scanner housing with a second surface generallyorthogonal to the first surface and with a second window disposed in thesecond surface; repeatedly reading through the second window at a thirdslant angle and acquiring, in combination with movement of the item, athird set of scan data of a two-dimensional image of at least a side ofthe item facing the second window as the item is passed by the secondwindow.
 7. A method according to claim 6 wherein the step of readingthrough the second window comprises reading through the second windowalong the third slant angle at a first tilt angle to the second surfacein a direction from one end of the second window toward the firstsurface for acquiring a field of view of a side of the item facing awayfrom the first surface.
 8. A method according to claim 1 wherein theslot comprises a first window, wherein the scanner housing comprises asecond surface having a second window disposed therein, the scannerhousing comprising an L-shape with one of the first and second surfacesbeing oriented generally horizontal and the other surface being orientedgenerally vertical, the method further comprising via a third scanmechanism, repeatedly reading through the second window along a thirdslant angle to the second surface and along a single line to acquire, incombination with movement of the item, a third set of scanned data of atwo-dimensional image of at least a side of the item facing the secondwindow as the item is passed by the second window.
 9. A method ofreading optical codes, comprising the steps of moving an item containingan optical code along an item direction through a read volume and past afirst window, the first window being disposed in a first surface of areader housing or platter and oriented facing the read volume;repeatedly reading with a linear or 2D imager off a fold mirror and thenthrough the first window along a first read plane oriented at a rearwardfirst slant angle to the first surface in a rearward direction, andacquiring, in combination with movement of the item, a first set of scandata of a two-dimensional image of at least a leading side of the itemas the item is passed through the first read plane; repeatedly readingwith a linear or 2D imager off a fold mirror and then through the firstwindow along a second read plane oriented at a forward second slantangle to the first surface in a forward direction, and acquiring, incombination with movement of the item, a second set of scan data of atwo-dimensional image of at least a trailing side of the item as theitem is passed through the second read plane; processing the sets ofscan data acquired.
 10. A method according to claim 9 further comprisingthe steps of forming the reader housing with a second surface generallyorthogonal to the first surface and with a second window disposed in thesecond surface; repeatedly reading through the second window along athird read plane and acquiring, in combination with movement of theitem, scan data of a two-dimensional image of at least a side of theitem facing the second window as the item is passed through the thirdread plane.
 11. A method according to claim 10 wherein the step ofreading through the second window along a third read plane comprisesreading through the second window along the third read plane at a firsttilt angle to the second surface in a direction from one end of thesecond window toward the first window for acquiring a field of view of aside of the item facing away from the first surface.
 12. A methodaccording to claim 9 wherein the step of moving an item containing anoptical code comprises moving the item via manual manipulation by anoperator, the method further comprising compensating for variations inspeed of the item occasioned by the item being manually moved throughthe read volume.
 13. A method according to claim 9 further comprisingforming an illumination plane by directing a plane of light, emittedfrom a set of light emitting diodes, into the read volume and generallycoplanar with the first read plane, and wherein repeatedly readingthrough the first window along a first read plane comprises reading witha linear or 2D imager.
 14. A method of reading optical codes on itemsbeing passed through a read volume, comprising the steps of moving anitem containing an optical code along an item direction past a firstwindow, the first window being disposed in a generally horizontal firstsurface of a reader housing or platter and facing the read volume, thefirst window comprising a slot being elongated in one direction andoriented generally transverse to the item direction, the slot having anarrow width parallel to the item direction, wherein the item comprisesa six-sided box-shaped item including a first side comprising theleading side, a second side comprising the trailing side, a third sidefacing the first window, a fourth side, perpendicular to the firstwindow and parallel to the item direction and proximate an operatorposition, a fifth side transverse to the first window and opposite thefourth side, and a sixth side opposite the third side; forming a firstread plane transverse to the item direction by repeatedly readingthrough the first window, wherein the first read plane is formed with adirection of view at a first tilt angle to the first surface in a firstdirection from a first end of the first window for acquiring a field ofview of the fourth side of the item perpendicular to the first windowand parallel to the item direction; acquiring, in combination withmovement of the item, a first set of scan data of a two-dimensionalimage of at least the fourth side of the item as the item is movedthrough the first read plane; and processing the first set of scan data.15. A method according to claim 14 wherein the step of processing thescan data comprises storing a selected portion of the first set of scandata; and decoding the selected portion of the scan data according to aplurality of virtual scan lines.
 16. A method according to claim 14further comprising forming a second read plane by repeatedly readingthrough the first window at a first slant angle to the first surface andacquiring, in combination with movement of the item, a second set ofscan data of a two-dimensional image of the trailing side of the item asthe item is moved through the second read plane; forming a third readplane by repeatedly reading through the first window at a second slantangle to the first window and acquiring, in combination with movement ofthe item, a third set of scan data of a two-dimensional image of theleading side of the item as the item is moved through the third readplane.
 17. A method according to claim 14 further comprising collectingreturn light reflecting off the optical code via a non-retrodirectivecollection system that uses item motion to generate the two-dimensionalimage from the first read plane.
 18. A method according to claim 17further comprising acquiring, in combination with movement of the item,scanned data of a two-dimensional image of the third side of the itemfacing the first window, whereby the method is effective to acquirescanned data of two-dimensional images of five sides of the six-sidedbox-shaped item being passed through the scan planes.
 19. A methodaccording to claim 14 wherein the first read plane is oriented at afirst slant angle to the window in a first direction to acquire scandata of a two-dimensional image of the leading side of the item as theitem is passed through the first read plane.
 20. A method according toclaim 19 further comprising forming a second read plane transverse tothe item direction by repeatedly reading through the first window,wherein the second read plane is formed with a direction of view at asecond tilt angle to the first surface in a second direction from an endof the first window opposite the first end for acquiring a field of viewof the fifth side of the item opposite the fourth side; wherein thesecond read plane is oriented at a second slant angle to the firstwindow in a second direction to acquire, in combination with movement ofthe item, a second set of scan data of a two-dimensional image of thetrailing side of the item as the item is passed through the second readplane.
 21. A method according to claim 14 further comprising the stepsof forming the reader housing with a second surface generally orthogonalto the first surface and with a second window disposed in the secondsurface; repeatedly reading through the second window along a secondread plane and acquiring, in combination with movement of the item, scandata of a two-dimensional image of at least the fifth side of the itemfacing the second window as the item is passed through the second readplane.
 22. A method according to claim 21 wherein the step of readingthrough the second window along a second read plane comprises readingthrough the second window along the second read plane at a first tiltangle to the second surface in a direction from one end of the secondwindow toward the first window for acquiring a field of view of a sideof the item facing away from the first window.
 23. A method according toclaim 14 wherein the reader housing comprises a second window disposedtherein, the reader housing comprising an L-shape with the second windowbeing oriented generally vertical, the method further comprisingacquiring, in combination with movement of the item, a second set ofscan data of a two-dimensional image of at least the fifth side of theitem facing the second window as the item is moved through the secondread plane.
 24. A system for reading optical codes on an item beingpassed in a given item direction through a read volume, comprising ascanner housing having a first surface facing the read volume; a firstslot disposed in the first surface, the slot being elongated in onedirection and oriented generally transverse to the given item direction,the slot having a narrow width parallel to the given item direction;means for repeatedly reading through the first slot along a first readplane oriented at a first slant angle to the first surface in a rearwardfirst direction, and acquiring, in combination with movement of theitem, first scan data over two dimensions of at least a leading side ofthe item as the item is passed through the first read plane; means forrepeatedly reading through the first slot along a second read planeoriented at a second slant angle to the surface in a forward seconddirection, and acquiring, in combination with movement of the item,second scan data over two dimensions of at least a trailing side of theitem as the item is passed through the second read plane; a processorfor processing the first and second scan data acquired.
 25. A systemaccording to claim 24 wherein the scanner housing comprises a secondsurface having a second window disposed therein, the scanner housingcomprising an L-shape with one of the first and second surfaces beingoriented generally horizontal and the other surface being orientedgenerally vertical, the system further comprising means for repeatedlyreading through the second window along a third read plane and acquiringscan data over two dimensions of at least a side of the item facing thesecond window as the item is passed through the third read plane.
 26. Asystem for reading optical codes on an item being passed in a given itemdirection through a read volume, comprising a scanner housing; a slotdisposed in a first surface of the scanner housing and facing the readvolume, wherein, the slot being elongated in one direction and orientedgenerally transverse to the item direction, the slot having a narrowwidth parallel to the item direction; a first scan mechanism forrepeatedly scanning through the slot in a first read plane at a rearwardfirst slant angle to the first surface in a first direction and along asingle line to acquire, in combination with movement of the item,scanned data over two dimensions of at least a leading side of the item;a second scan mechanism for repeatedly scanning through the slot in asecond read plane at a forward second slant angle to the first surfacein a second direction and along a single line to acquire, in combinationwith movement of the item, scanned data over two dimensions of at leasta trailing side of the item; a processor for processing the scanned dataacquired.
 27. A system according to claim 26 wherein scanned data isacquired over two dimensions of at least three sides of the itemincluding the leading side, the trailing side, and a side facing theslot.
 28. A system according to claim 26 wherein the first and secondscan mechanisms acquire scanned data over two dimensions of at leastthree sides of the item, the item being a six-sided box-shaped object,including a first side comprising the leading side, a second sidecomprising the trailing side, a third side facing the slot, a fourthside transverse to the slot and proximate an operator position, a fifthside transverse to the slot and opposite the fourth side, and a sixthside opposite the third side.
 29. A system according to claim 28 furthercomprising a third scan mechanism for repeatedly scanning through theslot at a first tilt angle to the first surface in a first directionfrom a first end of the slot and along a single line to acquire scanneddata over two dimensions of the fourth side of the item transverse tothe slot.
 30. A system according to claim 29 further comprising a fourthscan mechanism, repeatedly scanning through the slot at a second tiltangle to the first surface in a second direction from a second end ofthe slot and along a single line to acquire scanned data over twodimensions of the fifth side of the item transverse to the slot.
 31. Asystem according to claim 26 wherein the scanner housing is formed witha second surface generally orthogonal to the first surface and with asecond window disposed in the second surface, wherein the system furthercomprising means for repeatedly reading through the second window alonga third slant angle and acquiring, in combination with movement of theitem, scan data of a two-dimensional image of at least a side of theitem facing the second window as the item is passed by the secondwindow.
 32. A system according to claim 31 wherein the means forrepeatedly reading through the second window comprises reading throughthe second window along the third slant angle at a first tilt angle tothe second surface in a direction from one end of the second windowtoward the first surface for acquiring a field of view of a side of theitem facing away from the first surface.
 33. A system according to claim26 wherein the slot comprises a first window, wherein the scannerhousing comprises a second surface having a second window disposedtherein, the scanner housing comprising an L-shape with one of the firstand second surfaces being oriented generally horizontal and the othersurface being oriented generally vertical, the system further comprisingmeans for repeatedly reading through the second window along a thirdslant angle and acquiring scan data over two dimensions of at least aside of the item facing the second window as the item is passed by thesecond window.
 34. A method of reading optical codes on items beingpassed through a read volume, comprising the steps of moving an itemcontaining an optical code along an item direction through the readvolume and past a first window, the first window being disposed in afirst surface of a reader housing or platter and facing the read volume;forming a first illumination plane by directing a plane of light,emitted from a set of light emitting diodes, into the read volume at aforward first angle to the first window; forming a first read planegenerally transverse to the item direction and generally coplanar withthe first illumination plane by repeatedly reading with a linear or 2Dimager through the first window, for acquiring a field of view of afirst side of the item parallel to the first surface and parallel to theitem direction from the forward first angle; acquiring, in combinationwith movement of the item through the first read plane, a first set ofscan data of a two-dimensional image of at least the first side of theitem; forming a second illumination plane by directing a second plane oflight, emitted from said set of light emitting diodes into the readvolume at a rearward second angle to the first window; forming a secondread plane generally transverse to the item direction and generallycoplanar with the second illumination plane by repeatedly reading withsaid linear or 2D imager through the first window, for acquiring a fieldof view of at least the first side of the item from the rearward secondangle; acquiring, in combination with movement of the item through thesecond read plane, a second set of scan data of a two-dimensional imageof at least the first side of item; and processing the first set of scandata and the second set of scan data.
 35. A method according to claim 34wherein the step of moving an item containing an optical code comprisesmoving the item via manual manipulation by an operator, the methodfurther comprising compensating for variations in speed of the itemoccasioned by the item being manually moved through the read volume. 36.A method of reading an optical code on an item being moved via aconveyor, the conveyor having first and second conveyor sectionsseparated by a relatively narrow gap therebetween, comprising the stepsof via the conveyor, passing the item from the first conveyor section tothe second conveyor section over the gap; repeatedly reading with alinear or 2D imager off a fold mirror along a first read plane orientedat a forward first slant angle to the conveyor through the gap in aforward direction, and acquiring, in combination with movement of theitem, a first set of scan data of a two-dimensional image of a bottomside of the item as the item is passed through the first read plane;repeatedly reading with a linear or 2D imager off a fold mirror along asecond read plane oriented at a rearward second slant angle to theconveyor in a rearward direction, and acquiring, in combination withmovement of the item, a second set of scan data of a two-dimensionalimage of the bottom side of the item as the item is passed through thesecond read plane; processing the sets of scan data acquired.
 37. Asystem for reading optical codes on an item being passed in a given itemdirection through a read volume, comprising a scanner housing having afirst surface facing the read volume; a first window disposed in thefirst surface; means for repeatedly reading with a linear or 2D imageroff a fold mirror and then through the first window along a first readplane oriented at a first slant angle to the first surface in a rearwardfirst direction, and acquiring, in combination with movement of the itemthrough the first read plane, first scan data over two dimensions of atleast a leading side of the item; means for repeatedly reading with alinear or 2D imager off a fold mirror and then through the first windowalong a second read plane oriented at a second slant angle to thesurface in a forward second direction, and acquiring, in combinationwith movement of the item through the second read plane, second scandata over two dimensions of at least a trailing side of the item; aprocessor for processing the first and second scan data acquired.